## Структура события

События в системе представляют собой следующую структуру данных:

- **time** (время): Временная метка события, представленная как целое число без знака (uint).

- **source** (источник): Информация об источнике события. Включает следующие поля:
  - **meta** : Метатип источника, который можно рассматривать как перечисление (enum). Возможные значения:
    - `zone` (Зона) : 0
    - `resource` (Ресурс) : 1

  - **type** (тип): Целое число без знака (uint), представляющее тип источника события.

  - **uid** (уникальный идентификатор): 64-битное целое число без знака (uint64), представляющее уникальный идентификатор источника события.

- **activity** (активность): Тип активности, который можно рассматривать как перечисление (enum). Возможные значения:
  - `end` (завершение): 0
  - `begin` (начало): 1
  - `instant` (мгновенное): 2

- **class** (класс): Класс события, который можно рассматривать как перечисление (enum). Возможные значения (на русском в скобках):
  - `alarm` (тревога): 0
  - `sabotage` (саботаж): 1
  - `malfunction` (неисправность): 2
  - `attention` (внимание): 3
  - `arm` (охрана): 4
  - `control` (управление): 5
  - `power` (питание): 6
  - `connectivity` (связь): 7
  - `info` (информация): 8
  - `debug` (отладка): 9
  - `telemetry` (телеметрия): 10
  - `location` (местоположение): 11
  - `internal` (внутренний): 15

- **reason** (причина): Целое число без знака (uint), представляющее причину события.

- **value** (значение): Данные события, закодированные в формате CBOR, который совместим с JSON.

### Пример события в формате JSON
```json
{
  "time": 1633459200,
  "source": {
    "meta": 1,
    "type": 10,
    "uid": 52
  },
  "activity": 1,
  "class": 0,
  "reason": 3,
  "value": {
    "message": "Сработала сигнализация"
  }
}
```
